package com.workcell.workdata.xthings.entity;


import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import com.fasterxml.jackson.annotation.JsonAlias;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.time.LocalDateTime;

/**
 * 流量计型号
 *
 * @author 廖博文
 * @date 2022-11-28 10:15:50
 */
@Data
@TableName("t_base_flowmeter")
@EqualsAndHashCode(callSuper = true)
@ApiModel(value = "流量计型号")
public class BaseFlowmeter extends Model<BaseFlowmeter> {

    private static final long serialVersionUID = 1L;

    /**
     * 流量计ID
     */
	@TableId(type = IdType.ASSIGN_ID)
    @ApiModelProperty(value="流量计ID")
    private String fmId;

    /**
     * 设备名称
     */
    @ApiModelProperty(value="设备名称")
    private String fmName;

	/**
     * 厂商名称
     */
    @ApiModelProperty(value="厂商名称")
    private String manufacturer;

    /**
     * 产品类型
     */
    @ApiModelProperty(value="产品类型")
    private String dcProductType;

    /**
     * 型号
     */
    @ApiModelProperty(value="型号")
    private String dcModel;

    /**
     * 测量介质
     */
    @ApiModelProperty(value="测量介质")
    private String dcMeasuringMedium;

    /**
     * 本体材质
     */
    @ApiModelProperty(value="本体材质")
    private String dcBodyMaterial;

    /**
     * 电极材质
     */
    @ApiModelProperty(value="电极材质")
    private String dcElectrodeMaterial;

    /**
     * 介质温度
     */
    @ApiModelProperty(value="介质温度")
    private String dcMediumTemperature;

    /**
     * 电源参数
     */
    @ApiModelProperty(value="电源参数")
    private String dcPowerParam;

    /**
     * 衬里介质
     */
    @ApiModelProperty(value="衬里介质")
    private String dcLiningMedium;

	/**
	 * 状态
	 */
	@ApiModelProperty(value="状态")
	private String state;

    /**
     * 创建人
     */
	@TableField(fill = FieldFill.INSERT)
    @ApiModelProperty(value="创建人")
    private String createBy;

    /**
     * 创建时间
     */
	@TableField(fill = FieldFill.INSERT)
    @ApiModelProperty(value="创建时间")
    private LocalDateTime createTime;

    /**
     * 更新人
     */
	@TableField(fill = FieldFill.INSERT_UPDATE)
    @ApiModelProperty(value="更新人")
    private String updateBy;

    /**
     * 更新时间
     */
	@TableField(fill = FieldFill.INSERT_UPDATE)
    @ApiModelProperty(value="更新时间")
    private LocalDateTime updateTime;

    /**
     * 厂商编码（厂商ID）
     */
    @JsonAlias("deviceManufacturer")
    @ApiModelProperty("厂商编码（厂商ID）")
    private String manufacturerCode;

	@TableField(exist = false)
	@ApiModelProperty(value="厂商编码（厂商ID）")
	private String deviceManufacturer;

    /**
     * 厂商简称
     */
    @ApiModelProperty("厂商简称")
    private String manufacturerShortName;

    /**
     * 厂商全称
     */
    @ApiModelProperty("厂商全称")
    private String manufacturerFullName;

}
